package cn.six1943.deepchat.module.ai.dal.mysql.model;

import java.util.*;

import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.six1943.deepchat.module.ai.dal.dataobject.model.ModelDO;
import org.apache.ibatis.annotations.Mapper;

/**
 * 模型 Mapper
 *
 * @author at1943
 */
@Mapper
public interface ModelMapper extends BaseMapperX<ModelDO> {

    default List<ModelDO> selectListByKeyId(Long keyId) {
        return selectList(ModelDO::getKeyId, keyId);
    }

    default int deleteByKeyId(Long keyId) {
        return delete(ModelDO::getKeyId, keyId);
    }

    /**
     * 查询启用的模型列表，并按 keyId 升序排序
     */
    default List<ModelDO> selectModelList() {
        // 构建查询条件：status = 1（启用）
        LambdaQueryWrapperX<ModelDO> queryWrapper = new LambdaQueryWrapperX<ModelDO>()
                .eq(ModelDO::getStatus, 0); // 假设 status=1 表示启用状态

        // 添加排序条件：按 keyId 升序排列
        queryWrapper.orderByAsc(ModelDO::getKeyId);

        return selectList(queryWrapper);
    }
}
